Frontend Development
      
    
    
      Manually curated collection of resources for frontend web
        developers.
    
    
      You are viewing a browseable version, split by category in many small
      files. There is also a really huge file with every single resource on one
      page. Proceed to the
      totally gigantic file if you are
      into this kind of thing.
    
    
      This is the current version, which receives ongoing updates. If you want
      the good old bookmarks, please use the tag v.1.0. Keep in mind, that the
      old version has many outdated links.
    
    
      
      
      
    
    
    Appearance
    The outward or visible aspect of a website.
    
      - 
        Animation: The process of creating motion and shape change.
      
 
      - 
        Typography: The style, arrangement, or appearance of typeset matter.
      
 
      - 
        Visualization: Placing data in a visual context.
      
 
    
    Architecture
    
      High level structure of the frontend code and the discipline of creating
      such structures.
    
    
      - 
        Algorithms: A self-contained step-by-step set of operations to be performed.
        Algorithms perform calculation, data processing, and/or automated
        reasoning tasks.
      
 
      - 
        Design Patterns: Best practices that the programmer can use to solve common problems
        when designing an application or system.
      
 
      - 
        Designs: Ready to use and well documented structures and frameworks for
        frontend development.
      
 
      - 
        Event-Driven Programming: Event-driven programming is a programming paradigm in which the flow
        of the program is determined by events such as user actions, sensor
        outputs, or messages from other programs/threads.
      
 
      - 
        Functional Programming: Functional programming is a programming paradigm, that treats
        computation as the evaluation of mathematical functions and avoids
        changing-state and mutable data.
      
 
      - 
        Functional Reactive Programming (FRP): FRP is a programming paradigm for asynchronous dataflow programming
        using the building blocks of functional programming.
      
 
    
    Compatibility
    
      Ability of a product to work with different input/output devices and
      rendering software. Including printers, email, mobile devices and
      different browsers.
    
    
      - 
        Cross Browser: Cross-browser refers to the ability of a website, web application,
        HTML construct or client-side script to function in environments that
        provide its required features and to bow out or degrade gracefully when
        features are absent or lacking.
      
 
      - 
        E-Mail: Preparing HTML based electronic mail.
      
 
      - 
        Keyboard: Working with keyboard input in a web browser.
      
 
      - 
        Mobile: Development of websites optimized for viewing on smartphone and
        tablet devices.
      
 
      - 
        Printers: Manipulation of printer output through CSS.
      
 
      - 
        Responsive Web Design (RWD): RWD responds to the needs of the users and the devices they’re using.
        The layout changes based on the size and capabilities of the device.
      
 
      - 
        Web Accessibility: Web accessibility means that people with disabilities can perceive,
        understand, navigate, and interact with the Web, and that they can
        contribute to the Web.
      
 
    
    Ecosystem
    Important developers, companies, organizations and news sources.
    
      - 
        Communities Around Projects: Successful open source projects attract many developers who produce
        plugins, libraries, tutorials and other resources. This section collects
        such resources.
      
 
      - 
        News: Websites & newsletters which provide daily and weekly news
        related to frontend web development.
      
 
      - 
        Notable Community Members: Important engineers, evangelists, architects and other celebrities.
      
 
      - 
        Organizations: Commercial companies and nonprofit organizations around web
        development.
      
 
      - 
        Podcasts: A podcast is a form of digital media that consists of an episodic
        series of audio, video, digital radio, PDF, or ePub files subscribed to
        and downloaded automatically through web syndication or streamed online
        to a computer or mobile device.
      
 
    
    
      Languages, Protocols, Browser APIs
    
    Programming/mark-up languages and web related standards.
    
      - 
        Cascading Style Sheets (CSS): CSS are a stylesheet language used to describe the presentation of a
        document written in HTML or XML. It describes how elements should be
        rendered on screen, on paper, in speech, or on other media.
      
 
      - 
        Document Object Model (DOM): The DOM is a programming interface for HTML, XML and SVG documents.
        It defines methods that allow access to the tree, so that they can
        change the document structure, style and content.
      
 
      - 
        HyperText Markup Language (HTML): HTML is the standard markup language used to create web pages and its
        elements form the building blocks of all websites.
      
 
      - 
        Hypertext Transfer Protocol (HTTP): The Hypertext Transfer Protocol (HTTP) is an application protocol for
        distributed, collaborative, hypermedia information systems. HTTP is the
        foundation of data communication for the World Wide Web.
      
 
      - 
        JavaScript (EcmaScript): JavaScript is a full-fledged dynamic programming language that, when
        applied to an HTML document, can provide dynamic interactivity on
        websites. It is defined by ECMAScript standard.
      
 
      - 
        JavaScript Object Notation (JSON): JSON (JavaScript Object Notation) is a lightweight data-interchange
        format. It is easy for humans to read and write. It is easy for machines
        to parse and generate. It is based on a subset of the JavaScript
        Programming Language.
      
 
      - 
        Scalable Vector Graphics (SVG): An XML-based vector image format for two-dimensional graphics with
        support for interactivity and animation.
      
 
      - 
        Service Workers: A method that enables applications to take advantage of persistent
        background processing, including hooks to enable bootstrapping of web
        applications while offline.
      
 
      - 
        Templating Languages and Engines: Template engines are tools to separate program-logic and presentation
        into two independent parts. This makes the development of both logic and
        presentation easier, improves flexibility and eases modification and
        maintenance.
      
 
      - 
        Transpiled Languages: Abstract languages converted to native, browser supported standards
        like JavaScript or CSS.
      
 
      - 
        Uniform Resource Identifier (URI): URI is a string of characters used to identify a resource. The most
        common form of URI is the Uniform Resource Locator (URL).
      
 
      - 
        Web Animations API: Web Animations is a new JavaScript API for driving animated content
        on the web. By unifying the animation features of SVG and CSS, Web
        Animations unlocks features previously only usable declaratively, and
        exposes powerful, high-performance animation capabilities to developers.
      
 
      - 
        WebAssembly: WebAssembly is meant to fill a place that JavaScript has been forced
        to occupy up to now: a low-level code representation that can serve as a
        compiler target.
      
 
    
    User Interface Components
    Drop-in UI components for web sites and applications.
    
      - 
        Buttons: The term button refers to any graphical control element that provides
        the user a simple way to trigger an event, like searching for a query at
        a search engine, or to interact with dialog boxes, like confirming an
        action.
      
 
      - 
        Code: Code viewers and editors designed for embedding inside a website.
      
 
      - 
        Forms: A HTML form on a web page allows a user to enter data that is sent to
        a server for processing. Web users fill out the forms using checkboxes,
        radio buttons, or text fields.
      
 
      - 
        Galeries & Image Sliders: A sophisticated way to present a collection of images on your
        website.
      
 
      - 
        Grid: CSS Grid Layout Systems.
      
 
      - 
        Rich Text Editors: A rich text editor is the interface for editing rich text within web
        browsers. The aim is to reduce the effort for users trying to express
        their formatting directly as valid HTML markup.
      
 
      - 
        Table Of Contents: Components for automatic table of contents generation.
      
 
      - 
        UI Kits: Collections of ready to use components.
      
 
      - 
        Video & Audio: Components for playing audio and video files on a website.
      
 
    
    Workflow
    Task automation and asset delivery.
    
      - 
        Automated Testing: Automated software testing is a process in which software tools
        execute pre-scripted tests on a software application before it is
        released into production.
      
 
      - 
        Build Tools: Toolkits and their ecosystems, that help you automate painful and
        repeated tasks.
      
 
      - 
        CSS Tools: Tools for analysis, pre and post processing of CSS files.
      
 
      - 
        Code Editors: Text editor programs designed specifically for editing source code of
        a website.
      
 
      - 
        Documentation: Writing, generating, publishing and consuming documentation for web
        deliverables.
      
 
      - 
        Fonts for Programmers: Programmers need special fonts, which help align the code and
        distinguish between characters, that look alike.
      
 
      - 
        Getting Started: Step by step guides for setting up a frontend development workflow.
      
 
      - 
        HTML Tools: Tools for pre and post processing of the HTML source code.
      
 
      - 
        Image Post Processing: Tools for image conversion and optimization.
      
 
      - 
        JavaScript Tools: Tools for static analysis, pre and post processing of JavaScript
        files.
      
 
      - 
        Package Management: A package manager or package management system is a collection of
        software tools that automates the process of installing, upgrading,
        configuring, and removing reusable libraries and components in a
        consistent manner.
      
 
      - 
        Sourcemaps: Sourcemap is a way to map a combined/minified file back to an unbuilt
        state.
      
 
      - 
        Version Control: Version control or source control is a system that records changes to
        a file or set of files over time so that you can recall specific
        versions later.
      
 
    
    
    License
    
      
This work is licensed under a
      Creative Commons Attribution 4.0 International License.
    
    
      Please provide a link back to this repository. This is not necessary for
      GitHub forks.